Decoding a custom cooking program

ABSTRACT

In various embodiments, a method of decoding a custom cooking program includes using a tag reader to read heating instruction data encoded in an electronic tag, determining heating phases based on the read heating instruction data, and automatically controlling a heating apparatus to execute the determined heating phases.

CROSS REFERENCE TO OTHER APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/489,476, now U.S. Pat. No. 10,009,963, entitled DECODING A CUSTOMCOOKING PROGRAM filed Apr. 17, 2017 which is incorporated herein byreference for all purposes.

BACKGROUND OF THE INVENTION

There are many challenges in food preparation. Cooking can betime-consuming and messy. For example, ingredient selection,acquisition, transportation, and preparation can be inconvenient. Inspite of the effort expended, sometimes the results of meal preparationare unsatisfying. Successfully extracting flavors from ingredientstypically requires lengthy cooking processes such as stewing or skilledprocesses such as browning. The final tastiness of food depends on thecharacteristics of the ingredients and a person's tastes andpreferences.

Pre-packaged chilled convenience meals have been popular since the 1950sfor its ease of preparation. Typical convenience meals are packaged in atray and frozen. The consumer heats the meal in an oven or microwave andconsumes the food directly from the tray. However, conventionalpre-packaged convenience meals might be unhealthy and not tasty, andresults may vary depending on the microwave or oven used to heat themeal. For example, the food might be heated unevenly.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the invention are disclosed in the followingdetailed description and the accompanying drawings.

FIG. 1 is a functional diagram illustrating a programmed computer systemfor decoding a custom cooking program in accordance with someembodiments.

FIG. 2 is a flowchart illustrating an embodiment of a process to decodea custom cooking program.

FIG. 3 is a block diagram illustrating an embodiment of a heatingschedule.

FIG. 4 is a block diagram illustrating an embodiment of a heatingschedule.

FIG. 5A is a block diagram illustrating an embodiment of a heatingschedule for a first heating apparatus.

FIG. 5B is a block diagram illustrating an embodiment of a heatingschedule for a second heating apparatus.

FIG. 5C is a block diagram illustrating an embodiment of a heatingschedule for a third heating apparatus.

FIG. 6 is a flowchart illustrating an embodiment of a process to decodea custom cooking program.

FIG. 7 is a block diagram illustrating an embodiment of a heatingschedule adapted based on user input.

FIG. 8 is a block diagram illustrating an embodiment of an apparatus tostore and transport matter.

FIG. 9 is a block diagram illustrating an embodiment of an apparatus forheating.

FIG. 10 is a block diagram of an embodiment of a controller for aheating apparatus.

FIG. 11 is a flowchart illustrating an embodiment of a process tooperate an automatic cooking system.

FIG. 12A is a block diagram illustrating an embodiment of a modularcooking system.

FIG. 12B is a block diagram illustrating an embodiment of a modularcooking system.

DETAILED DESCRIPTION

The invention can be implemented in numerous ways, including as aprocess; an apparatus; a system; a composition of matter; a computerprogram product embodied on a computer readable storage medium; and/or aprocessor, such as a processor configured to execute instructions storedon and/or provided by a memory coupled to the processor. In thisspecification, these implementations, or any other form that theinvention may take, may be referred to as techniques. In general, theorder of the steps of disclosed processes may be altered within thescope of the invention. Unless stated otherwise, a component such as aprocessor or a memory described as being configured to perform a taskmay be implemented as a general component that is temporarily configuredto perform the task at a given time or a specific component that ismanufactured to perform the task. As used herein, the term ‘processor’refers to one or more devices, circuits, and/or processing coresconfigured to process data, such as computer program instructions.

A detailed description of one or more embodiments of the invention isprovided below along with accompanying figures that illustrate theprinciples of the invention. The invention is described in connectionwith such embodiments, but the invention is not limited to anyembodiment. The scope of the invention is limited only by the claims andthe invention encompasses numerous alternatives, modifications andequivalents. Numerous specific details are set forth in the followingdescription in order to provide a thorough understanding of theinvention. These details are provided for the purpose of example and theinvention may be practiced according to the claims without some or allof these specific details. For the purpose of clarity, technicalmaterial that is known in the technical fields related to the inventionhas not been described in detail so that the invention is notunnecessarily obscured.

A method of decoding of a custom cooking program is disclosed. Invarious embodiments, the method includes using a tag reader to readheating instruction data encoded in an electronic tag. Heating phasesare determined based on the read heating instruction data. A heatingapparatus is automatically controlled to execute the determined heatingphases.

FIG. 1 is a functional diagram illustrating a programmed computer systemfor decoding a custom cooking program in accordance with someembodiments. As will be apparent, other computer system architecturesand configurations can be used to decode a custom cooking program.Computer system 100, which includes various subsystems as describedbelow, includes at least one microprocessor subsystem (also referred toas a processor or a central processing unit (CPU)) 102. For example,processor 102 can be implemented by a single-chip processor or bymultiple processors. In some embodiments, processor 102 is a generalpurpose digital processor that controls the operation of the computersystem 100. Using instructions retrieved from memory 110, the processor102 controls the reception and manipulation of input data, and theoutput and display of data on output devices (e.g., display 118). Insome embodiments, processor 102 includes and/or is used toexecute/perform the processes described below with respect to FIGS. 2,6, and 11.

Processor 102 is coupled bi-directionally with memory 110, which caninclude a first primary storage, typically a random access memory (RAM),and a second primary storage area, typically a read-only memory (ROM).As is well known in the art, primary storage can be used as a generalstorage area and as scratch-pad memory, and can also be used to storeinput data and processed data. Primary storage can also storeprogramming instructions and data, in the form of data objects and textobjects, in addition to other data and instructions for processesoperating on processor 102. Also as is well known in the art, primarystorage typically includes basic operating instructions, program code,data and objects used by the processor 102 to perform its functions(e.g., programmed instructions). For example, memory 110 can include anysuitable computer-readable storage media, described below, depending onwhether, for example, data access needs to be bi-directional oruni-directional. For example, processor 102 can also directly and veryrapidly retrieve and store frequently needed data in a cache memory (notshown).

A removable mass storage device 112 provides additional data storagecapacity for the computer system 100, and is coupled eitherbi-directionally (read/write) or uni-directionally (read only) toprocessor 102. For example, storage 112 can also includecomputer-readable media such as magnetic tape, flash memory, PC-CARDS,portable mass storage devices, holographic storage devices, and otherstorage devices. A fixed mass storage 120 can also, for example, provideadditional data storage capacity. The most common example of massstorage 120 is a hard disk drive. Mass storage 112, 120 generally storeadditional programming instructions, data, and the like that typicallyare not in active use by the processor 102. It will be appreciated thatthe information retained within mass storage 112 and 120 can beincorporated, if needed, in standard fashion as part of memory 110(e.g., RAM) as virtual memory.

In addition to providing processor 102 access to storage subsystems, bus114 can also be used to provide access to other subsystems and devices.As shown, these can include a display monitor 118, a network interface116, a keyboard 104, and a pointing device 106, as well as an auxiliaryinput/output device interface, a sound card, speakers, and othersubsystems as needed. For example, the pointing device 106 can be amouse, stylus, track ball, or tablet, and is useful for interacting witha graphical user interface.

The network interface 116 allows processor 102 to be coupled to anothercomputer, computer network, or telecommunications network using anetwork connection as shown. For example, through the network interface116, the processor 102 can receive information (e.g., data objects orprogram instructions) from another network or output information toanother network in the course of performing method/process steps.Information, often represented as a sequence of instructions to beexecuted on a processor, can be received from and outputted to anothernetwork. An interface card or similar device and appropriate softwareimplemented by (e.g., executed/performed on) processor 102 can be usedto connect the computer system 100 to an external network and transferdata according to standard protocols. For example, various processembodiments disclosed herein can be executed on processor 102, or can beperformed across a network such as the Internet, intranet networks, orlocal area networks, in conjunction with a remote processor that sharesa portion of the processing. Additional mass storage devices (not shown)can also be connected to processor 102 through network interface 116.

An auxiliary I/O device interface (not shown) can be used in conjunctionwith computer system 100. The auxiliary I/O device interface can includegeneral and customized interfaces that allow the processor 102 to sendand, more typically, receive data from other devices such asmicrophones, touch-sensitive displays, transducer card readers, tapereaders, voice or handwriting recognizers, biometrics readers, cameras,portable mass storage devices, and other computers.

In addition, various embodiments disclosed herein further relate tocomputer storage products with a computer readable medium that includesprogram code for performing various computer-implemented operations. Thecomputer-readable medium is any data storage device that can store datawhich can thereafter be read by a computer system. Examples ofcomputer-readable media include, but are not limited to, all the mediamentioned above: magnetic media such as hard disks, floppy disks, andmagnetic tape; optical media such as CD-ROM disks; magneto-optical mediasuch as optical disks; and specially configured hardware devices such asapplication-specific integrated circuits (ASICs), programmable logicdevices (PLDs), and ROM and RAM devices. Examples of program codeinclude both machine code, as produced, for example, by a compiler, orfiles containing higher level code (e.g., script) that can be executedusing an interpreter.

The computer system shown in FIG. 1 is but an example of a computersystem suitable for use with the various embodiments disclosed herein.Other computer systems suitable for such use can include additional orfewer subsystems. In addition, bus 114 is illustrative of anyinterconnection scheme serving to link the subsystems. Other computerarchitectures having different configurations of subsystems can also beutilized.

FIG. 2 is a flowchart illustrating an embodiment of a process 200 todecode a custom cooking program. In various embodiments, the customcooking program is adapted for contents of a package such as contents ofpackage 800 of FIG. 8. In various embodiments, the process 200 may beimplemented by a processor such as processor 102 of FIG. 1, controller908 of FIG. 9, or controller 1008 of FIG. 10.

At 202, encoded heating instructions are read. In some embodiments, theinstructions are obtained from reading an electronic tag. For example,in various embodiments, an electronic tag reader such as reader 906 ofFIG. 9 scans an electronic tag 824 of FIG. 8.

In some embodiments, heating instructions are embedded in the electronictag and an Internet connection is not needed to prepare food using theheating instructions. In some embodiments, instructions are requestedfrom a remote server based on an identification of the packaged food.The identification of the packaged food may be determined by scanning anelectronic tag such as tag 824 of FIG. 8.

At 204, heating phases are determined based on the read heatinginstructions. The instructions may include a heating schedule having oneor more phases. In various embodiments, each phase is characterized by aduration and/or an energy level. For example, the heating instructionsmay be provided as a recipe or schedule in which the food is heated at aparticular temperature/energy level for a defined duration of time.Examples of a heating schedules are shown in FIGS. 3 and 4.

At 206, a heating apparatus is instructed to execute the determinedheating phases. In various embodiments, an electromagnetic (EM) sourceis instructed to energize at a specific time to carry out the heatingphases. For example, EM source 902 may be energized at an appropriatefrequency and time to effect the pre-defined energy level for apre-defined duration for a phase as further described herein withrespect to FIG. 9. In various embodiments, typical recipes are completedwithin three minutes and may include one or more phases.

In various embodiments, a heating apparatus that is part of a system ofa plurality of heating apparatus is instructed to execute the determinedheating phases in a coordinated manner. For example, the heatingapparatus may delay beginning of a first heating phase such that theheating process ends at substantially the same time as another heatingapparatus. As another example, the heating apparatus may delay beginningof a first heating phase such that the heating apparatus ends at apre-defined time before or after at least one other heating apparatus.An example of a cooking system with a plurality of cooking modules isfurther described herein with respect to FIGS. 12A and 12B.Corresponding heating schedules are described herein with respect toFIGS. 5A, 5B, and 5C.

FIG. 3 is a block diagram illustrating an embodiment of a heatingschedule. The cooking schedule may be determined by decoding a customcooking program. In this example, the cooking schedule is represented bya graph, wherein the x-axis is time in seconds and the y-axis is energylevel. The energy level is given by the energy that a heating apparatusis capable of providing, e.g., field per unit volume of the materialbeing heated up, heat per unit volume of material, temperature, etc.This example cooking schedule takes three minutes and includes threephases: first searing at 100% energy for 45 seconds, then baking at 25%energy for 90 seconds, and finally finishing at 100% energy for 45seconds.

FIG. 4 is a block diagram illustrating an embodiment of a heatingschedule. The cooking schedule may be determined by decoding a customcooking program. In this example, the cooking schedule is represented bya graph, wherein the x-axis is time in seconds and the y-axis is energylevel. The energy level is given by the energy that a heating apparatusis capable of providing, e.g., field per unit volume of the materialbeing heated up, heat per unit volume of material, temperature.

The example of FIG. 4 illustrates that an energy level during a phaseneed not be uniform. In this example, in phase 1, energy is linearlydecreased from 100% to around 27%. In phase 2, energy is linearlydecreased from around 27% to around 12.5%. In phase 3, energy isexponentially increased from around 12.5% to 100%.

In various embodiments, a plurality of heating apparatus may becoordinated to prepare a meal with multiple dishes. FIG. 5A is a blockdiagram illustrating an embodiment of a heating schedule 500 for a firstheating apparatus. FIG. 5B is a block diagram illustrating an embodimentof a heating schedule 530 for a second heating apparatus. FIG. 5C is ablock diagram illustrating an embodiment of a heating schedule 550 for athird heating apparatus. Heating schedules 500, 530, 500 may bedetermined by decoding one or more custom cooking programs. Referring toFIG. 12A, heating schedule 500 may be determined from a food packagecorresponding to Device 1, heating schedule 530 may be determined from afood package corresponding to Device 2, and heating schedule 550 may bedetermined from a good package corresponding to Device N. Examples ofmulti-unit systems are further described herein with respect to FIGS.12A and 12B.

Returning to FIGS. 5A, 5B, and 5C, the heating schedules shown in eachof the figures is an example of meal preparation of three differentdishes. Suppose heating schedule 500 is for steak, which takes 3 minutesto cook; heating schedule 530 is for spinach, which takes 1 minute tocook; and heating schedule 550 is for mashed potatoes, which takes 2.5minutes to cook.

The dishes can be coordinated to finish cooking at the same time asfollows. Heating schedule 500 begins Phase 1 (searing) in which steak isseared at 100% energy for 45 seconds. At this time, according to each ofheating schedules 530 and 550, heating has not yet begun (energy is at0%). At 45 seconds, heating schedule 500 begins Phase 2 (baking) inwhich the steak is baked at approximately 25% energy for approximately90 seconds. At 135 seconds, heating schedule 500 begins Phase 3(finishing) in which the steak is heated at approximately 100% energyfor approximately 45 seconds.

Approximately 35 seconds after heating schedule 500 began, heatingschedule 550 enters Phase 1 (baking) in which mashed potatoes are bakedat approximately 87.5% energy for approximately 145 seconds.Approximately 100 seconds after heating schedule 500 began, heatingschedule 530 enters Phase 1 (steaming) in which spinach is steamed atapproximately 50% energy for 45 seconds. In this example, heatingschedules 500, 530, and 550 will complete cooking at around the sametime.

As another example, heating schedules may be coordinated to finishcooking at staggered times. Using the same example in which heatingschedule 500 is for steak, heating schedule 530 is for spinach, andheating schedule 550 is for mashed potatoes, suppose spinach needs moretime to cool down. Heating schedules 500 and 550 may be adapted tofinish at the same time, and heating schedule 530 may be adapted tofinish 60 seconds before heating schedules 500 and 550. Heatingschedules 500 and 550 may proceed as shown in FIGS. 5A and 5B. Heatingschedule 530 may delay until 75 seconds after heating schedule 500 beganto begin. That is, heating schedule 530 begins 60 seconds earlier thanthe example shown in FIG. 5B. This would result in heating schedule 530completing 60 seconds before heating schedule 500 and 550 complete.

FIG. 6 is a flowchart illustrating an embodiment of a process 600 todecode a custom cooking program. In various embodiments, the customcooking program is adapted for contents of a package such as matter 830of FIG. 8. In various embodiments, the process 600 may be implemented bya processor such as processor 102 of FIG. 1, controller 908 of FIG. 9,or controller 1008 of FIG. 10.

At 602, encoded heating instructions are read. An example of readingencoded heating instructions is 202 of process 200 of FIG. 2.

At 604, user input is received. The user input may be received on a userinterface such as a touch screen. For example, various options for foodpreparation may be displayed on the touch screen. One or more optionsmay be selected via the user interface. Using the example of steak, theuser is provided with options such as: rare, medium, medium well, andwell. Using the example of pasta, the user is provided with options suchas: al dente, softer, softest. The options may be provided asmulti-choice, a linear scale, among others. In response to userselection of the preparation option, the controller adjusts a heatingschedule to produce the desired result.

In various embodiments, the user interface is a touch screen provided ona heating apparatus such as the user interface 910 of FIG. 9. In variousembodiments, the user interface is provided in a phone application. Userselections may be transmitted by the phone application to a processorexecuting process 600. Feedback for the user may be transmitted by theprocess executing process 600 to the user via phone app.

At 606, heating phases are determined based on the read instructions andthe received user input. The instructions may include a heating schedulehaving one or more phases. In various embodiments, each phase ischaracterized by a duration and/or an energy level. For example, theheating instructions may be provided as a recipe or schedule in whichthe food is heated at a particular temperature/energy level for adefined duration of time.

In various embodiments, the duration and/or an energy level for a phasemay be adjusted based on the user input. In some cases, one or morephases may be added or removed based on the user input. Suppose a userindicates that she prefers her steak rare. The heating phases may beassembled based on a baseline heating schedule. To customize the steakto the user's tastes (rare), one or more phases may be shortened and/oran energy level for one or more phases may be decreased by a pre-definedpercentage, e.g., 10%. An example of an adjusted heating schedule isshown in FIG. 7.

At 608, a heating apparatus is instructed to execute the heating phasesadapted to the user input. An example of instructing a heating apparatusto execute heating phases is 206 of process 200 of FIG. 2.

FIG. 7 is a block diagram illustrating an embodiment of a heatingschedule adapted based on user input. The cooking schedule may bedetermined by decoding a custom cooking program. In this example, thecooking schedule is represented by a graph, where the x-axis is time inseconds and the y-axis is energy level. The energy level is given by theenergy that a heating apparatus is capable of providing, e.g., field perunit volume of the material being heated up, heat per unit volume ofmaterial, temperature.

The example of FIG. 7 includes a baseline/default heating schedule 702and an adapted heating schedule 704. The adapted heating schedule 704may be generated based on user input. Referring to the example of a userwho prefers steak rare, the heating schedule 704 is generated byreducing Phase 2 relative to the baseline schedule 702. Here, Phase 2 isshortened to 45 seconds and Phase 3 is shortened to approximately 68seconds. Compared with the baseline heating schedule 702 (e.g., formedium well steak), the adapted heating schedule 704 finishesapproximately 68 seconds earlier.

Although not shown, there may be other schedule adaptations that wouldachieve a similar effect. For example, a heating energy level may bereduced instead of or in conjunction with phase duration changes. Invarious embodiments, the adaptations are selected based on pre-defineduser preferences such as shortest cooking time, best taste, etc. Invarious embodiments, the adaptations are coordinated with other heatingschedules. For example, if a meal with several dishes is being prepared,schedules may be adapted to be completed at the same time or staggeredtimes. To achieve the desired coordinated finish times, the energylevels rather than the cooking times may be adapted from the baselineheating schedules.

FIG. 8 is a block diagram illustrating an embodiment of an apparatus 800to store and transport matter 830. For example, in various embodimentsthe apparatus 800 is adapted to store and transport matter 830comprising food or other heatable loads. The apparatus 800 includes atop portion 810, a bottom portion 812, a metal layer 814, a membrane816, a seal 818, and a pressure relief valve 820.

The bottom portion 812 is adapted to receive matter 830. The bottomportion holds food or other types of loads. For example, the bottomportion may be a plate or bowl. As further described herein, a user maydirectly consume the matter 830 from the bottom portion 812.

The top portion 810 is adapted to fit the bottom portion 812 to form achamber. For example, the top portion may be a cover for the bottomportion. In some embodiments, the top portion is deeper than the bottomportion and is a dome, cloche, or other shape. Although not shown, insome embodiments, the top portion is shallower than the bottom portion.In some embodiments, the top portion is transparent and the matter 830can be observed during a preparation/heating process. In someembodiments, the chamber is at least partially opaque. For example,portions of the chamber may be opaque to prevent users frominadvertently touching the apparatus when the chamber is hot.

The top portion 810 and the bottom portion 812 may be made of a varietyof materials. Materials may include glass, plastic, metal,compostable/fiber-based materials, or a combination of materials. Thetop portion 810 and the bottom portion 812 may be made of the samematerial or different materials. For example, the top portion 810 ismetal while the bottom portion 812 is another material.

The seal 818 is adapted to join the top portion 810 to the bottomportion 812. In one aspect, the seal may provide an air-tight connectionbetween the top portion and the bottom portion, defining a spaceenclosed within the top portion and the bottom portion. In someembodiments, in the space, matter 830 is isolated from an outsideenvironment. The pressure inside the space may be different fromatmospheric pressure. The seal may also prevent leakage and facilitatepressure buildup within the chamber in conjunction with pressure reliefvalve 820 and/or clamp of a heating apparatus (not shown).

In one aspect, a chamber formed by the top portion 810 and the bottomportion 812 may store and/or preserve food. For example, food may bevacuum-sealed inside the chamber. In another aspect, the chambercontains the food during a heating process. In various embodiments, thechamber can be directly be placed on a heating apparatus. For example, auser may obtain the chamber from a distributor (e.g., a grocery store),heat up the contents of the chamber without opening the chamber, andconsume the contents of the chamber directly. In various embodiments,the same chamber stores/preserves food, is a transport vessel for thefood, can be used to cook the food, and the food can be directlyconsumed from the chamber after preparation.

The metal layer 814 (also referred to as a conductive structure) heatsin response to an EM source. In some embodiments, the metal layer heatsby electromagnetic induction. The metal layer can heat matter 830. Forexample, heat in the metal layer may be conducted to the contents. Asfurther described herein, the heating of the matter (in some cases incombination with a controlled level of moisture) in the chamber allowsfor a variety of preparation methods including dry heat methods such asbaking/roasting, broiling, grilling, sauteing/frying; moist heat methodssuch as steaming, poaching/simmering, boiling; and combination methodssuch as braising and stewing. In various embodiments, several differentheating methods are used in a single preparation process, e.g., thepreparation process comprising a sequence of heating cycles.

The metal layer may be made of a variety of materials. In someembodiments, the metal layer includes an electrically conductingmaterial such as a ferromagnetic metal, e.g., stainless steel. Invarious embodiments, the metal is processed and/or treated in variousways. For example, in some embodiments, the metal is ceramic-coated. Insome embodiments, the metal layer is made of any metallic material,e.g., aluminum.

The membrane 816 (also referred to as a membrane region) is adapted tocontrol an amount of liquid. For example, the membrane may providecontrolled flow of moisture through the membrane. In variousembodiments, the membrane may release liquids (e.g., water) inside aspace defined by the top portion 810 and the bottom portion 812. Forexample, water can be released in a controlled manner and transformed tosteam during a heating process. In various embodiments, the membrane mayabsorb liquids. For example, the membrane may absorb juices released byfood during a heating process.

In some embodiments, the membrane 816 is adapted to provide insulationbetween the metal layer 814 and a surface of the bottom portion 812. Forexample, if the bottom portion is a glass plate, the membrane mayprevent the glass plate from breaking due to heat.

The membrane 816 may be made of a variety of materials. In someembodiments, the membrane includes a heat-resistant spongy material suchas open-cell silicone. In some embodiments, the membrane includesnatural fiber and/or cellulose. The material may be selected based ondesired performance, e.g., if the membrane is intended to absorb liquidor release liquid, a rate at which liquid should be absorbed/released, aquantity of liquid initially injected in the membrane, etc.

The pressure relief valve 820 regulates pressure in a space defined bythe top portion 810 and the bottom portion 812. In various embodiments,the pressure relief valve relieves pressure buildup within the chamber.For example, in various embodiments the valve activates/deploysautomatically in response to sensed temperature or pressure inside thechamber meeting a threshold. In some embodiments, the valve is activatedby a heating apparatus such as heating apparatus 900 of FIG. 9. Forexample, the valve may be activated at a particular stage or time duringa cooking process. The pressure relief valve allows the contents of thechamber to be heated at one or more pre-determined pressures includingat atmospheric pressure. In various embodiments, this accommodatespressure heating techniques.

In some embodiments, the apparatus includes a handle 822. The handle mayfacilitate handling and transport of the apparatus. For example, thehandle may enable a user to remove the apparatus from a base (e.g., fromthe heating apparatus 900 of FIG. 9). In various embodiments, the handleis insulated to allow safe handling of the apparatus when the rest ofthe apparatus is hot. In some embodiments, the handle is collapsiblesuch that the apparatus is easily stored. For example, several apparatusmay be stacked. FIG. 8 shows one example of the handle placement. Thehandle may be provided in other positions or locations.

In some embodiments, the apparatus includes an electronic tag 824. Theelectronic tag encodes information about the apparatus. By way ofnon-limiting example, the encoded information includes identification ofmatter 830, characteristics of the contents, and handling instructions.Using the example of a food package, the electronic tag may storeinformation about the type of food inside the package (e.g., steak,fish, vegetables), characteristics of the food (e.g., age/freshness,texture, any abnormalities), and cooking instructions (e.g., sear thesteak at high heat followed by baking at a lower temperature). Althoughshown below membrane 816, the electronic tag may be provided in otherlocations such as below handle 822, on a wall of the top portion 810,among other places.

The apparatus 800 may be a variety of shapes and sizes. In someembodiments, the shape of the apparatus is compatible with a heatingapparatus such as heating apparatus 900 of FIG. 9. For example, theapparatus may be of a suitable surface area and shape to be heated byapparatus 900. For example, apparatus 800 may be around 7 inches indiameter and around 2 inches in height.

FIG. 9 is a block diagram illustrating an embodiment of an apparatus 900for heating. For example, in various embodiments the heating apparatus900 is adapted to receive an apparatus 930 (also referred to as achamber) and heat contents of the chamber 930. An example of the chamber930 is apparatus 800 of FIG. 8. The heating apparatus 900 includes an EMsource 902, one or more sensors 904, electronic tag reader 906,controller 908, and user interface 910.

The EM source 902 heats electrically conductive materials. In variousembodiments, the EM source is an RF source that provides inductiveheating of metals such as ferromagnetic or ferrimagnetic metals. Forexample, the EM source 902 may include an electromagnet and anelectronic oscillator. In some embodiments, the oscillator is controlledby controller 908 to pass an alternating current (AC) through anelectromagnet. The alternating magnetic field generates eddy currents ina target such as metal layer 814 of FIG. 8, causing the metal layer toheat. Heating levels and patterns may be controlled by the frequency ofthe AC and when to apply the AC to the electromagnet as furtherdescribed herein.

The sensor(s) 904 are adapted to detect characteristics of contents ofchamber 930 including any changes that may occur during a heatingprocess. A variety of sensors may be provided including a microphone,camera, thermometer, and/or hygrometer, etc. A microphone may beconfigured to detect sounds of the matter being heated. A camera may beconfigured to detect changes in the appearance of the matter beingheated, e.g., by capturing images of the matter. A hygrometer may beconfigured to detect steam/vapor content of the chamber. For example,the hygrometer may be provided near an opening or pressure relief valvesuch as valve 120 of FIG. 1 to detect moisture escaping the chamber. Theinformation captured by the sensors may be processed by controller 908to determine a stage in the cooking process or a characteristic of thematter being heated as further described herein. In this example, thesensor(s) are shown outside the chamber 930. In some embodiments, atleast some of the sensor(s) are provided inside the chamber 930.

The electronic tag reader 906 reads information about contents of thechamber 930 such as characteristics of packaged food. The informationencoded in the tag may include properties of the contents, instructionsfor preparing/heating the contents, etc. In various embodiments, theelectronic tag reader is configured to read a variety of tag typesincluding barcodes, QR codes, RFIDs and any other tags encodinginformation.

The controller 908 controls operation of the heating apparatus 900. Anexample of the controller is controller 1008 of FIG. 10. In variousembodiments, the controller executes instructions for processingcontents of chamber 930. In some embodiments, the instructions areobtained from reading an electronic tag of the chamber 930 via theelectronic tag reader 906. In some embodiments, the controller requestsinstructions from a remote server based on the contents. The controllercontrols the EM source 902 to implement heating levels and patterns,e.g., activating the electromagnet to carry out the heatinginstructions.

In some embodiments, the apparatus includes one or more networkinterfaces (not shown). A network interface allows controller 908 to becoupled to another computer, computer network, or telecommunicationsnetwork using a network connection as shown. For example, through thenetwork interface, the controller 908 can receive information (e.g.,data objects or program instructions) from another network or outputinformation to another network in the course of performingmethod/process steps. Information, often represented as a sequence ofinstructions to be executed on a processor, can be received from andoutputted to another network. An interface card or similar device andappropriate software implemented by (e.g., executed/performed on)controller 908 can be used to connect the heating apparatus 900 to anexternal network and transfer data according to standard protocols. Forexample, various process embodiments disclosed herein can be executed oncontroller 908, or can be performed across a network such as theInternet, intranet networks, or local area networks, in conjunction witha remote processor that shares a portion of the processing. Additionalmass storage devices (not shown) can also be connected to controller 908through the network interface.

In some embodiments, the apparatus includes one or more I/O devices 910.An I/O device interface can be used in conjunction with heatingapparatus 900. The I/O device interface can include general andcustomized interfaces that allow the controller 908 to send and receivedata from other devices such as sensors, microphones, touch-sensitivedisplays, transducer card readers, tape readers, voice or handwritingrecognizers, biometrics readers, cameras, portable mass storage devices,and other computers.

The user interface 910 is configured to receive user input and/orprovide information to a user. For example, the user interface may besuitable for receiving user input at 604 of FIG. 6. In variousembodiments, the user interface 910 is a touch-sensitive screen. Forexample, various options for food preparation may be displayed on thetouch screen. The user interface may transmit a user's selection to aprocessor such as controller 908. The processor then determines aheating schedule based at least in part on the user selection.

In various embodiments, controller 908 is coupled bi-directionally withmemory (not shown), which can include a first primary storage, typicallya random access memory (RAM), and a second primary storage area,typically a read-only memory (ROM). As is well known in the art, primarystorage can be used as a general storage area and as scratch-pad memory,and can also be used to store input data and processed data. Primarystorage can also store programming instructions and data, in the form ofdata objects and text objects, in addition to other data andinstructions for processes operating on controller 908. Also as is wellknown in the art, primary storage typically includes basic operatinginstructions, program code, data and objects used by the controller 908to perform its functions (e.g., programmed instructions). For example,memory can include any suitable computer-readable storage media,described below, depending on whether, for example, data access needs tobe bi-directional or uni-directional. For example, controller 908 canalso directly and very rapidly retrieve and store frequently needed datain a cache memory (not shown).

In some embodiments, the controller implements the heating instructionsbased on sensor readings. The controller may determine that a heatingstage is complete, e.g., the food has reached a desired state, based onsensor readings. For example, when a level of moisture inside thechamber 930 drops below a threshold, a Maillard reaction begins and thefood becomes browned. The Maillard reaction may be indicated by acharacteristic sound (e.g., sizzling). For example, in variousembodiments, the controller determines a characteristic of the foodbeing prepared using signals collected by the sensor(s) 904. Thecontroller receives a sensor reading from the microphone and/or othersensors and determines that the Maillard reaction has begun based on thesensor reading meeting a threshold or matching a profile. For example,the color of food may indicate whether the food has been cooked tosatisfaction. The controller receives a sensor reading from the cameraand/or other sensors and determines that food has been cooked to adesired level of tenderness based on the sensor reading meeting athreshold or matching a profile.

The controller may adjust a heating stage or a heating power level basedon sensor readings. For example, in various embodiments at the end of adefault heating time indicated by heating instructions, the controllerchecks sensor readings. The sensor readings indicate that the food isnot sufficiently browned. The controller may then extend the heatingtime such that the food is more browned.

In various embodiments, the heating apparatus includes a cradle orsupport for apparatus 100. For example, the support may be separatedfrom the heating apparatus, the apparatus 100 inserted into the support,and the support returned to the heating apparatus. The support maysupport a circumference/walls of apparatus 100.

In various embodiments, the heating apparatus includes a switch (notshown). The switch may power on the heating apparatus and/or receiveuser input to begin a heating process. In various embodiments, theswitch is provided with a visual indicator of progress of a heatingprocess. For example, the switch may be provided at the center of alight “bulb,” where the light bulb includes one or more colored lights(e.g., LED lights). The light “bulb” may change colors during theheating process, acting like a timer. For example, at the beginning of aheating process, the bulb is entirely be red. As the heating processprogresses, the light gradually turns green (e.g., segment by segment)until the light is entirely green, indicating completion of a heatingstage or heating process. The light may gradually turn green segment bysegment as if with the sweeping of a second hand of a clock, where asection to the left of the hour and minutes hands is red and a sectionto the right of the hour and minute hands is green until both hands areat 12:00 and the bulb is entirely green.

In various embodiments, the heating apparatus may include a userinterface to display and/or receive user input. For example, a currentpower/energy level of a heating phase may be displayed on the userinterface. In some embodiments, the energy levels are categorized Level1 to Level 6 and a current power level of a heating phase is displayedon the user interface. The categorization may facilitate usercomprehension of the energy level. Power/energy levels may berepresented in an analog or continuous manner in some embodiments.

The heating apparatus 900 may be a variety of shapes. For example,heating apparatus 900 may be around 9 inches in diameter and around 2inches in height. In some embodiments, the shape of the apparatus iscompatible with an apparatus such as chamber 800 of FIG. 8. For example,the apparatus may be of a suitable surface area and shape to heat thecontents of chamber 800.

FIG. 10 is a block diagram of an embodiment of a controller 1008 for aheating apparatus. For example, the controller may be provided inheating apparatus 900 of FIG. 9. The controller 1008 includes controllogic 1004, a tag database 1010, resonant circuit 1014, and power 1012.In this example, the controller 1008 is communicatively coupled to EMsource 1002 and tag reader 1006.

The tag reader 1006 reads a tag 1014. The tag 1014 may encodeinformation about packaged food. An example of tag reader 1006 iselectronic tag reader 906 of FIG. 9.

The control logic 1004 is configured to receive tag information from thetag reader 1006 and determine one or more heating cycles based on thetag information. In some embodiments, the control determines heatingcycle(s) by looking up an association between the tag information andstored heating cycles. For example, the control logic may determineheating cycle(s) adapted to properties of a chamber in which theheatable load is provided and/or characteristics of the heatable load.In various embodiments, the control logic executes one or more processesdescribed herein including the processes of FIGS. 2, 6, and 11.

In some embodiments, the control logic is implemented by one or moreprocessors (also referred to as a microprocessor subsystem or a centralprocessing unit (CPU)). For example, the control logic 1004 can beimplemented by a single-chip processor or by multiple processors. Insome embodiments, processor 1004 is a general purpose digital processorthat controls the operation of the heating apparatus 900. Usinginstructions retrieved from memory, the processor 1004 controls thereception and manipulation of input data, and the output and display ofdata on output devices (e.g., display 118 of FIG. 1 or user interface910 of FIG. 9).

The tag database 1010 stores associations between heatable loads andheating cycles. For example, energy level, duration, and otherproperties of heating cycles may be stored for loads or characteristicsof matter to be heated. In various embodiments, the associations arepre-defined and loaded into the database. In various embodiments, theassociations are refined based on machine learning, user feedback,and/or sensor readings of heatable load properties before, during, orafter a heating cycle. Although shown as part of the controller 1008,the tag database may instead be external to the controller.

The resonant circuit 1014 controls the EM source 1002. In variousembodiments, the resonant circuit 1014 has an integrated EM source 1002,e.g., an inductor coil. In various embodiments, the EM source is aseparate element from the resonant circuit 1014.

The power 1012 is input to the resonant circuit 1014. In variousembodiments, the power 1012 is a DC source. The DC source may be aninternal or external DC source or may be an adapter for an external ACsource. Although shown as an internal source, the power may instead beexternal to the controller 1008.

In operation, tag reader 1006 readings tag information from tag 1014,sends the information to the control logic 1004. The control logic 1004maps the received tag information to one or more heating cycles usingassociations stored in tag database 1010. The control logic 1004 theninstructs the resonant circuit 1014 to execute the heating cycles. Forexample, the control logic 1004 may also control when power 1012 isprovided to the resonant circuit 1014. Resonant circuit 1014 thenactivates the EM source 1002.

FIG. 11 is a flowchart illustrating an embodiment of a process 1100 tooperate an automatic cooking system. In various embodiments, the process1100 may be implemented by a processor such as control logic 1004 ofFIG. 10.

A tag is received (1102). In various embodiments, the tag is anelectronic tag associated with a heatable load. Tag 824 of FIG. 8 is anexample of a tag encoding information about matter 1100. The tag ismapped to a heating cycle (1104). In various embodiments, the tag ismapped by looking up an association between the tag and heating cycles.The heating cycles may be adapted for characteristics of a heatableload. The heating cycle may be defined by a duration and an energy asfurther described herein. Upon determination of one or more heatingcycles, the heating cycle(s) is executed (1106). For example, in variousembodiments control logic instructs a resonant circuit to drive an EMsource.

FIG. 12A is a block diagram illustrating an embodiment of a modularcooking system 1200. The system 1200 includes a plurality of sub-units(labelled as “devices”). In this example, the sub-units of the systemare heating apparatus, e.g., N heating apparatus. In variousembodiments, the sub-units are communicatively coupled to at least theiradjacent sub-units. For example, the sub-units may communicate by wiredor wireless means such as Bluetooth®, Wi-Fi®, and/or other local areanetwork protocols. For example, in various embodiments, the sub-unitseach have a network interface such as the network interface describedwith respect to FIG. 2.

The sub-units may be configured to coordinate operation such that thesystem operates as a single unit. For example, one of the sub-units maybe appointed as a master and communicate with the other slave sub-unitsof the system. If the master is removed from the system, anothersub-unit may be appointed as the master. As another example, each of thesub-units may be instructed to operate (e.g., delay beginning of cooktime) by a central server.

The system 1200 is expandable and accommodates sub-units that may beadded or removed after an initial set-up. For example, the heatingapparatus need not be acquired at the same time. When a heatingapparatus is added to the system, the heating apparatus is automaticallyconfigured to communicate and coordinate with the other heatingapparatus as further described herein with respect to FIGS. 12A and 12B.When a heating apparatus is removed from the system, the system isautomatically updated.

In various embodiments, one or more sub-units of system 1200 areconfigured to coordinate meal preparation. For example, the heatingapparatus may be configured to finish cooking at the same time. Thoseheating apparatus with contents having shorter heating times may delaythe start time such that the heating apparatus finish at the same time.Suppose Device 1 is instructed to cook steak, which takes 3 minutes tocook, Device 2 is instructed to cook spinach, which takes 1 minute tocook, and Device N is instructed to cook mashed potatoes, which takes2.5 minutes to cook. Device 1 begins first, 1.5 minutes later, Device Nbegins, and 30 seconds after Device N begins, Device 2 begins. Thus,Devices 1, 2, and N will finish heating at the same time.

As another example, the devices may be configured to finish heating atstaggered times. Using the same example in which Device 1 is instructedto cook steak, which takes 3 minutes to cook, Device 2 is instructed tocook spinach, which takes 1 minute to cook, and Device N is instructedto cook mashed potatoes, which takes 2.5 minutes to cook, suppose mashedpotatoes need more time to cool down. Devices 1 and 2 may be configuredto finish at the same time, and Device N may be configured to finish 1minute before Devices 1 and 2. Device 2 is instructed to cook spinach,which takes 1 minute to cook, and Device N is instructed to cook mashedpotatoes, which takes 2.5 minutes to cook. Device 1 begins first, 0.5minutes later, Device N begins, and 1.5 minutes after Device N begins,Device 2 begins. Thus, Devices 1 and 2 will finish heating at the sametime (3 minutes after Device 1 began) and Device N will finish heating 1minute before Devices 1 and 2 are finished.

FIG. 12B is a block diagram illustrating an embodiment of a modularcooking system 1250. The system 1250 includes a plurality of sub-units(labelled as “devices”). In this example, the sub-units of the systemare modules, e.g., N modules. Each of the modules includes four heatingapparatus, Device 1 to Device 4. In various embodiments, the sub-unitsare communicatively coupled to at least their adjacent sub-units. Forexample, the sub-units may communicate by wired or wireless means suchas Bluetooth®, WiFi®, and/or other local area network protocols. Forexample, in various embodiments, the sub-units each have a networkinterface such as the network interface described with respect to FIG.2.

In various embodiments, the modules may be configured to coordinateoperation of constituent heating apparatus. For examples, Device 1 toDevice 4 are configured to finish heating at the same time orpre-defined staggered finish times. In various embodiments, the modulesmay be configured to coordinate operation with each other. For example,Modules 1 to N are coordinated to finish heating at the same time orpre-defined staggered finish times.

Suppose system 1250 is preparing a meal for two people, where each mealincludes four courses. Each of the courses may be packaged in a chambersuch as apparatus 100 of FIG. 1. In some embodiments, the chambers maybe loaded into the devices at the same time and configured to befinished heating at pre-defined times (e.g., at the same time orpre-selected staggered times.

There are a variety of ways to load the chambers into thedevices/modules. In a first example, each of the courses for the firstperson is inserted into a respective device in Module 1. Each of thecourses for the second person is inserted into a respective device inModule 2. For example, Device 1 in each module receives a package for astarter, Device 2 in each module receives a package for an intermediatecourse, Device 3 in each module receives a package for a main course,and Device 4 in each module receives a package for a dessert. Thepackages may all be inserted into the heating apparatus at the sametime. In a second example, courses of the same type are inserted intothe same module. For example, a starter package is inserted into Device1 and Device 2 of Module 1, an intermediate course package is insertedinto Device 3 and Device 4 of Module 1, a main course package isinserted into Device 1 and Device 2 of Module 2, and a dessert packageis inserted into Device 3 and Device 4 of Module 2.

In operation, the modules may coordinate to finish cooking the starterfirst, finish cooking the intermediate course 10 minutes after cookingof the starter is completed, finish cooking the main course 15 minutesafter cooking of the intermediate course is completed, and finishcooking the dessert 20 minutes after cooking of the main course iscompleted. The modules may factor in the time is takes to prepare eachof the courses in determining when to begin cooking each of the coursesto meet the defined finish time.

Although the foregoing embodiments have been described in some detailfor purposes of clarity of understanding, the invention is not limitedto the details provided. There are many alternative ways of implementingthe invention. The disclosed embodiments are illustrative and notrestrictive.

What is claimed is:
 1. A method comprising: determining, by a processor, heating phases based on heating instruction data read from an electronic tag associated with a load to be heated; automatically controlling a first heating apparatus to execute the determined heating phases; and automatically instructing a second heating apparatus to execute the determined heating phases such that the first heating apparatus and the second heating apparatus terminate heating in a coordinated manner.
 2. The method of claim 1, wherein the first heating apparatus includes an electromagnetic source.
 3. The method of claim 1, wherein the heating instruction data is read by scanning the electronic tag.
 4. The method of claim 1, wherein the electronic tag is an RFID tag.
 5. The method of claim 1, wherein the heating instruction data includes a link to instructions stored in a remote server.
 6. The method of claim 1, wherein the determined heating phases include at least one of: a number phases, a duration of each of the phases, and an energy level of each of the phases.
 7. The method of claim 1, wherein the electronic tag stores heating instructions locally.
 8. The method of claim 1, wherein the controlling the first heating apparatus causes the first heating apparatus and the second heating apparatus to complete cooking at substantially the same time.
 9. The method of claim 1, wherein the controlling the first heating apparatus causes the first heating apparatus and the second heating apparatus to complete cooking at pre-defined different times.
 10. The method of claim 1, further comprising: receiving user input during a cooking process; and modifying the determined heating phases based on the received user input.
 11. The method of claim 1, further comprising: receiving user input during a cooking process; and delaying one of the determined heating phases based on the received user input.
 12. A system comprising: a communications interface configured to receive heating instruction data ready from an electronic tag; and a processor configured to: determine heating phases based on the heating instruction data; and automatically control a first heating apparatus to execute the determined heating phases; and automatically instructing a second heating apparatus to execute the determined heating phases such that the first heating apparatus and the second heating apparatus terminate heating in a coordinated manner.
 13. The system of claim 12, wherein the determined heating phases include at least one of: a number phases, a duration of each of the phases, and an energy level of each of the phases.
 14. The system of claim 12, wherein the heating instruction data includes a link to instructions stored in a remote server.
 15. The system of claim 12, wherein the controlling the first heating apparatus causes the first heating apparatus and the second heating apparatus to complete cooking at substantially the same time.
 16. The system of claim 12, wherein the controlling the first heating apparatus causes the first heating apparatus and the second heating apparatus to complete cooking at pre-defined different times.
 17. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for: determining, by a processor, heating phases based on heating instruction data read from an electronic tag associated with a load to be heated; automatically controlling a first heating apparatus to execute the determined heating phases; and automatically instructing a second heating apparatus to execute the determined heating phases such that the first heating apparatus and the second heating apparatus terminate heating in a coordinated manner.
 18. The computer program product of claim 17, wherein the heating phases include at least one of: a number phases, a duration of each of the phases, and an energy level of each of the phases.
 19. The computer program product of claim 17, wherein the controlling the first heating apparatus causes the first heating apparatus and the second heating apparatus to complete cooking at substantially the same time.
 20. The computer program product of claim 17, wherein the controlling the first heating apparatus causes the first heating apparatus and the second heating apparatus to complete cooking at pre-defined different times. 